
#ifndef GKT_SCREEN_DEFINES_H
#define GKT_SCREEN_DEFINES_H

#ifndef GKT_SCREEN_H
#error "Includes gkt_screen.h instead of gkt_screen_defines.h!"
#endif

#if defined(GKT_CONFIG_SCREEN_SSD1306) && GKT_CONFIG_SCREEN_SSD1306
/* OLED SSD1306 */
#define GKT_SCREEN_WIDTH	128	/* Columns */
#define GKT_SCREEN_HEIGHT	64	/* Rows/Lines */
#define GKT_SCREEN_BITS_PER_PIXEL	1
#define GKT_SCREEN_PF	GKT_SCREEN_PF_MONOCHROME
#define GKT_SCREEN_DMF	GKT_SCREEN_DMF_COL_ROW
#define GKT_SCREEN_ROWS_PER_PAGE	8

/* fg_color / bg_color of normal display mode */
#define GKT_SCREEN_FG_COLOR_DEFAULT	1
#define GKT_SCREEN_BG_COLOR_DEFAULT	0

#elif defined(GKT_CONFIG_SCREEN_ST7567) && GKT_CONFIG_SCREEN_ST7567
/* LCD ST7567 */
#define GKT_SCREEN_WIDTH	128	/* Columns */
#define GKT_SCREEN_HEIGHT	64	/* Rows/Lines */
#define GKT_SCREEN_BITS_PER_PIXEL	1
#define GKT_SCREEN_PF	GKT_SCREEN_PF_MONOCHROME
#define GKT_SCREEN_DMF	GKT_SCREEN_DMF_COL_ROW
#define GKT_SCREEN_ROWS_PER_PAGE	8

/* fg_color / bg_color of normal display mode */
#define GKT_SCREEN_FG_COLOR_DEFAULT	1
#define GKT_SCREEN_BG_COLOR_DEFAULT	0

#elif defined(GKT_CONFIG_SCREEN_GC9107) && GKT_CONFIG_SCREEN_GC9107
#define GKT_SCREEN_IC_ROWS	160
#define GKT_SCREEN_IC_COLS	128

#define GKT_SCREEN_WIDTH	160	/* Columns */
#define GKT_SCREEN_HEIGHT	80	/* Rows/Lines */
#define GKT_SCREEN_PF	GKT_SCREEN_PF_RGB565
#define GKT_SCREEN_DMF	GKT_SCREEN_DMF_COL_ROW
#define GKT_SCREEN_BITS_PER_PIXEL	16
#define GKT_SCREEN_BYTES_PER_PIXEL	2

/* fg_color / bg_color of normal display mode */
#define GKT_SCREEN_FG_COLOR_DEFAULT	0xffff
#define GKT_SCREEN_BG_COLOR_DEFAULT	0x0000

#else
// TODO: other screen defines
#error "Not Implement"
#endif

#endif	/* GKT_SCREEN_DEFINES_H */

